package com.genreate.util.jtk.reqRes;

import lombok.Data;

import java.util.List;

/**
 * 钉钉创建群组 请求参数
 *
 * @author LYS
 * @date 2025-01-21
 */
@Data
public class DingdingCreateGroupReq {
    /**
     * 群名称，长度限制为1~20个字符。
     */
    private String name;
    /**
     * 群主的userId，可通过根据手机号查询用户接口获取userid参数值。 该员工必须为会话useridlist的成员之一。
     */
    private String owner;
    /**
     * 群成员列表，每次最多支持40人，群人数上限为1000。
     */
    private List<String> useridlist;
    /**
     * 新成员是否可查看100条历史消息：
     * 1：可查看
     * 0：不可查看
     * 如果不传值，代表不可查看。
     */
    private Integer showHistoryType;
    /**
     *
     * 群是否可以被搜索：
     * 0（默认）：不可搜索
     * 1：可搜索
     */
    private Integer searchable;
    /**
     *
     * 入群是否需要验证：
     * 0（默认）：不验证
     * 1：入群验证
     */
    private Integer validationType;
    /**
     *
     * @all 使用范围：
     * 0（默认）：所有人可使用
     * 1：仅群主可@all
     */
    private Integer mentionAllAuthority;
    /**
     *
     * 群管理类型：
     * 0（默认）：所有人可管理
     * 1：仅群主可管理
     */
    private Integer managementType;
    /**
     * 是否开启群禁言：
     * 0（默认）：不禁言
     * 1：全员禁言
     */
    private Integer chatBannedType;

    //以下是更新群聊的参数

    /**
     * 群会话ID
     */
    private String chatid;

    /**
     * 群主类型
     * emp：企业员工
     * ext：外部联系人
     */
    private String ownerType;

    /**
     * 添加的群成员列表
     */
    private List<String> add_useridlist;

    /**
     * 删除的成员列表
     */
    private List<String> del_useridlist;

    /**
     * 添加的外部联系人成员列表
     */
    private List<String> add_extidlist;

    /**
     * 删除的外部联系人成员列表
     */
    private List<String> del_extidlist;

    /**
     * 群头像的mediaId，可通过上传媒体文件接口获取media_id参数值。
     */
    private String icon;

    /**
     * 是否禁言
     * true：禁言
     * false：不禁言
     */
    private Boolean isBan;
}
